/*
struct ListNode {
 int val;
 struct ListNode *next;
 ListNode(int x) :
 val(x), next(NULL) {
 }
};*/
class Solution
{
public:
	ListNode* FindFirstCommonNode(ListNode* pHead1, ListNode* pHead2)
	{
		ListNode* cur1 = pHead1, * cur2 = pHead2;
		while (cur1 != cur2)
		{
			cur1 = cur1 != NULL ? cur1->next : pHead2;
			cur2 = cur2 != NULL ? cur2->next : pHead1;
		}
		return cur1;
	}
};